package com.sfh.gd.service;

import cn.dev33.satoken.util.SaResult;
import com.mybatisflex.core.service.IService;
import com.sfh.gd.domain.dto.*;
import com.sfh.gd.domain.entity.GameDO;
import com.sfh.gd.domain.query.GamePageQuery;

public interface GameService extends IService<GameDO> {


    /**
     * 新增赛事
     *
     * @param vo 赛事信息
     * @return 赛事实体
     */
    SaResult addGame(GameNewDTO vo);

    /**
     * 编辑赛事信息
     *
     * @param dto 赛事信息
     * @return 赛事实体
     */
    SaResult editGame(GameEditDTO  dto);

    /**
     * 删除赛事
     *
     * @param id 赛事id
     * @return 删除结果
     */
    SaResult deleteGame(Long id);

    /**
     * 获取赛事详情
     *
     * @param id 赛事id
     * @return 赛事详情
     */
    SaResult getGameDetail(Long id);

    /**
     * 获取赛事列表
     * @return 赛事列表
     */
    SaResult getGamePage(GamePageQuery query);

    /**
     * 查询当天赛事
     */
    SaResult getTodayGame();

    /**
     * 更新赛事状态
     * @return
     */
    SaResult  changeState( GameStateDO data);

}
